package com.xbongbong.schedule.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.schedule.domain.entity.ScheduleTaskEntity;
import com.xbongbong.schedule.pojo.dto.ScheduleTaskAddBatchDTO;
import com.xbongbong.schedule.pojo.dto.ScheduleTaskAddDTO;
import com.xbongbong.schedule.pojo.dto.ScheduleTaskCancelDTO;
import com.xbongbong.schedule.pojo.dto.ScheduleTaskRabbitmqDTO;
import com.xbongbong.schedule.pojo.vo.ScheduleTaskAddBatchVO;
import com.xbongbong.schedule.pojo.vo.ScheduleTaskAddVO;

public interface ScheduleTaskService {

    boolean isTableExist(String tableName);

    String createTable(String tableName);

    ScheduleTaskAddVO addScheduleTask(ScheduleTaskAddDTO scheduleTaskAddDTO);

    ScheduleTaskAddBatchVO addBatchScheduleTask(ScheduleTaskAddBatchDTO scheduleTaskAddBatchDTO);

    void cancelScheduleTask(ScheduleTaskCancelDTO scheduleTaskCancelDTO) throws XbbException;

    void updateScheduleTask(ScheduleTaskEntity scheduleTaskEntity) throws XbbException;

    void roundPollingScheduleTask();

    void handleScheduleTask(ScheduleTaskRabbitmqDTO scheduleTaskRabbitmqDTO);

}
